【JavaScript】continue文 - 反復処理のスキップ(for/for-of/for-in/while/do-while)
JavaScriptのcontinue文について解説します。
検証環境
continue文
continue文は“反復処理で次の繰り返しにスキップします。”
特定の構文(for文、for-of文、for-in文、while文、do-while文)で使用可能で、continue文が実行されると一番近いブロック(波括弧{})の反復処理を次の繰り返しへとスキップします。
基本構文
continue
構文はシンプルですが、特定の構文以外で使用するとエラーが発生するので注意が必要です。
サンプル
continue文が使用可能なfor文、for-of文、for-in文、while文、do-while文について各サンプルを以下に示します。
for文
for( let i = 0; i < 3; i++ ) {
console.log(i + "回目(前半)");
if( i == 1 ) {
___ih_hl_start
continue;
___ih_hl_end
}
console.log(i + "回目(後半)");
}
0回目(前半)
0回目(後半)
1回目(前半)
2回目(前半)
2回目(後半)
繰り返しの処理でconsole.log(i + "回目(前半)")とconsole.log(i + "回目(後半)")の出力がありますが、変数iが1の時は、continueが実行されるため、console.log(i + "回目(後半)")はスキップされます。
for-of文
let fruits = [ "Apple", "Orange", "Melon" ];
for( const value of fruits ) {
if( value == "Orange" ) {
___ih_hl_start
continue;
___ih_hl_end
}
console.log(value);
}
Apple
Melon
変数valueの値が"Orange"の時はcontinueが実行され、次の繰り返し処理にスキップするため、console.log(value)は実行されません。
for-in文
let prices = { "Apple": 150, "Orange": 100, "Melon": 2300 };
for( const key in prices ) {
if( key == "Orange" ) {
___ih_hl_start
continue;
___ih_hl_end
}
console.log(key + ": " + prices[key]);
}
aaa
ccc
変数keyの値が"Orange"の時はcontinueが実行され、次の繰り返し処理にスキップするため、console.log(key + ": " + prices[key])は実行されません。
while文
let num = 0;
while( num < 3 ) {
num++;
if( num == 1 ) {
___ih_hl_start
continue;
___ih_hl_end
}
console.log(num + "回目");
}
2回目
3回目
変数numが1の時は、continueが実行されるため、console.log(num + "回目")はスキップされます。
do-while文
let num = 0;
do {
num++;
if( num == 1 ) {
___ih_hl_start
continue;
___ih_hl_end
}
console.log(num + "回目");
} while( num < 3 );
2回目
3回目
変数numが1の時は、continueが実行されるため、console.log(num + "回目")はスキップされます。